/*
 * Holds all the emoticons available
 * 
 * This exists purely to remove the large number of lines
 * required to create the list of emoticons from the
 * main servlet.
 */
package emoticony;
import java.util.ArrayList;

public class Emoticons {
	
	//List which stores all the emoticons in
	//Within the list it contains the string match and image url
	ArrayList<Emoticon> iconList = new ArrayList<Emoticon>();
	
	public Emoticons() {
		//Every Emoticon is created and added to the list here
		//iconList.add(new Emoticon("",extendUrl("")));
		iconList.add(new Emoticon(":)",extendUrl("smile")));
		iconList.add(new Emoticon(":D",extendUrl("smile-big")));
		iconList.add(new Emoticon(":(",extendUrl("sad")));
		iconList.add(new Emoticon(":'(",extendUrl("crying")));
		iconList.add(new Emoticon(":p",extendUrl("tongue")));
		iconList.add(new Emoticon(":P",extendUrl("tongue")));
		iconList.add(new Emoticon(":o",extendUrl("shock")));
		iconList.add(new Emoticon(":@",extendUrl("angry")));
		iconList.add(new Emoticon(":s",extendUrl("confused")));
		iconList.add(new Emoticon(":S",extendUrl("confused")));
		iconList.add(new Emoticon(";)",extendUrl("wink")));
		iconList.add(new Emoticon("+o(",extendUrl("sick")));
		iconList.add(new Emoticon(":$",extendUrl("embarrassed")));
		iconList.add(new Emoticon(":|",extendUrl("disapointed")));
		iconList.add(new Emoticon(":-#",extendUrl("shut-mouth")));
		iconList.add(new Emoticon("|-)",extendUrl("sleepy")));
		iconList.add(new Emoticon("8-)",extendUrl("eyeroll")));
		iconList.add(new Emoticon(":\\",extendUrl("thinking")));
		iconList.add(new Emoticon("*-)",extendUrl("thinking")));
		iconList.add(new Emoticon(":--)",extendUrl("lying")));
		iconList.add(new Emoticon("(lying)",extendUrl("lying")));
		iconList.add(new Emoticon("8-|",extendUrl("glasses-nerdy")));
		iconList.add(new Emoticon("8o|",extendUrl("teeth")));
		
		iconList.add(new Emoticon("(A)",extendUrl("angel")));
		iconList.add(new Emoticon("(bye)",extendUrl("bye")));
		iconList.add(new Emoticon("(clap)",extendUrl("clap")));
		iconList.add(new Emoticon("({)",extendUrl("hug-left")));
		iconList.add(new Emoticon("(})",extendUrl("hug-right")));
		iconList.add(new Emoticon("<:o)",extendUrl("party")));
		iconList.add(new Emoticon("(h5)",extendUrl("highfive")));
		iconList.add(new Emoticon("(hi5)",extendUrl("highfive")));
		
		iconList.add(new Emoticon("(L)",extendUrl("love")));
		iconList.add(new Emoticon("(U)",extendUrl("love-over")));
		iconList.add(new Emoticon("(tv)",extendUrl("tv")));
		iconList.add(new Emoticon("(TV)",extendUrl("tv")));
		iconList.add(new Emoticon("(mail)",extendUrl("mail")));
		iconList.add(new Emoticon("(brb)",extendUrl("brb")));
		iconList.add(new Emoticon("(P)",extendUrl("pizza")));
		iconList.add(new Emoticon("(pi)",extendUrl("pizza")));
		iconList.add(new Emoticon("(st)",extendUrl("rain")));
		iconList.add(new Emoticon("(rain)",extendUrl("rain")));
		iconList.add(new Emoticon("(C)",extendUrl("coffee")));
		iconList.add(new Emoticon("(comp)",extendUrl("computer")));
		iconList.add(new Emoticon("(D)",extendUrl("drink")));
		iconList.add(new Emoticon("(B)",extendUrl("beer")));
		iconList.add(new Emoticon("(@)",extendUrl("cat")));
		iconList.add(new Emoticon("(&)",extendUrl("dog")));
		iconList.add(new Emoticon("(#)",extendUrl("sun")));
		iconList.add(new Emoticon("(*)",extendUrl("star")));
		iconList.add(new Emoticon("(Y)",extendUrl("good")));
		iconList.add(new Emoticon("(N)",extendUrl("bad")));
		iconList.add(new Emoticon("(O)",extendUrl("clock")));
		iconList.add(new Emoticon("(G)",extendUrl("present")));
		iconList.add(new Emoticon("(mp)",extendUrl("mobile")));
		iconList.add(new Emoticon("(8)",extendUrl("musical-note")));
		iconList.add(new Emoticon("(Z)",extendUrl("boy")));
		iconList.add(new Emoticon("(X)",extendUrl("girl")));
		iconList.add(new Emoticon("(^)",extendUrl("cake")));
		iconList.add(new Emoticon("(au)",extendUrl("car")));
		iconList.add(new Emoticon("(car)",extendUrl("car")));
		iconList.add(new Emoticon(":_orco", extendUrl("_orco", ".gif")));
		iconList.add(new Emoticon(":_sh", extendUrl("_sh")));
		iconList.add(new Emoticon(":2hi", extendUrl("2hi", ".gif")));
		iconList.add(new Emoticon(":2mk", extendUrl("2mk")));
		iconList.add(new Emoticon(":2mono", extendUrl("2mono", ".gif")));
		iconList.add(new Emoticon(":3hi", extendUrl("3hi", ".gif")));
		iconList.add(new Emoticon(":4nose", extendUrl("4nose", ".gif")));
		iconList.add(new Emoticon(":aaaa", extendUrl("aaaa")));
		iconList.add(new Emoticon(":abrazo", extendUrl("abrazo", ".gif")));
		iconList.add(new Emoticon(":\"", extendUrl("aq", ".gif")));
		iconList.add(new Emoticon(":argue", extendUrl("argue", ".gif")));
		iconList.add(new Emoticon(":ash", extendUrl("ash")));
		iconList.add(new Emoticon(":bagh", extendUrl("bagh")));
		iconList.add(new Emoticon(":balazo", extendUrl("balazo", ".gif")));
		iconList.add(new Emoticon(":boss", extendUrl("boss")));
		iconList.add(new Emoticon(":cb", extendUrl("cb", ".gif")));
		iconList.add(new Emoticon(":chiva", extendUrl("chiva", ".gif")));
		iconList.add(new Emoticon(":clap", extendUrl("clap", ".gif")));
		iconList.add(new Emoticon(":cold", extendUrl("cold")));
		iconList.add(new Emoticon(":crazy", extendUrl("crazy", ".gif")));
		iconList.add(new Emoticon(":cry", extendUrl("cry", ".gif")));
		iconList.add(new Emoticon(":fgr", extendUrl("fgr")));
		iconList.add(new Emoticon(":fiu", extendUrl("fiu", ".gif")));
		iconList.add(new Emoticon(":froggy", extendUrl("froggy", ".gif")));
		iconList.add(new Emoticon(":gollo", extendUrl("gollo", ".gif")));
		iconList.add(new Emoticon(":haha", extendUrl("haha", ".gif")));
		iconList.add(new Emoticon(":hi", extendUrl("hi", ".gif")));
		iconList.add(new Emoticon(":huh", extendUrl("huh")));
		iconList.add(new Emoticon(":jacha", extendUrl("jacha")));
		iconList.add(new Emoticon(":jaja", extendUrl("jaja", ".gif")));
		iconList.add(new Emoticon(":jiji", extendUrl("jiji", ".gif")));
		iconList.add(new Emoticon(":lol", extendUrl("lol", ".png")));
		iconList.add(new Emoticon(":masc", extendUrl("masc")));
		iconList.add(new Emoticon(":me", extendUrl("me")));
		iconList.add(new Emoticon(":miedo", extendUrl("miedo", "gif")));
		iconList.add(new Emoticon(":mierda", extendUrl("mierda", ".gif")));
		iconList.add(new Emoticon(":mk", extendUrl("mk")));
		iconList.add(new Emoticon(":mofa", extendUrl("mofa", ".gif")));
		iconList.add(new Emoticon(":ninja", extendUrl("ninja")));
		iconList.add(new Emoticon(":nop", extendUrl("nop", ".gif")));
		iconList.add(new Emoticon(":nuts", extendUrl("nuts", ".gif")));
		iconList.add(new Emoticon(":quin", extendUrl("quin", ".gif")));
		iconList.add(new Emoticon(":tarro", extendUrl("tarro")));
		iconList.add(new Emoticon(":think", extendUrl("think", ".gif")));
		iconList.add(new Emoticon(":toa", extendUrl("toa")));
		iconList.add(new Emoticon(":tome", extendUrl("tome", ".gif")));
		iconList.add(new Emoticon(":wave", extendUrl("wave")));
		iconList.add(new Emoticon(":mop", extendUrl("mop")));
		iconList.add(new Emoticon(":trofeo", extendUrl("trofeo", ".gif")));
		iconList.add(new Emoticon(":calma", extendUrl("calma", ".gif")));
		iconList.add(new Emoticon(":rave", extendUrl("rave", ".gif")));
		iconList.add(new Emoticon(":_lolcano", extendUrl("lolcano", ".gif")));
	}
	
	/*
	 * This function adds the prefix and suffix to the filename
	 * In future this will be adapted to deal with themed emoticons
	 */
	public String extendUrl(String fname, String type){
		return "http://bombetsemoticons.appspot.com/emoticons/".concat(fname).concat(type);
	}

	/*
	 * This function adds the prefix and suffix to the filename
	 * In future this will be adapted to deal with themed emoticons
	 */
	public String extendUrl(String fname){
		return extendUrl(fname, ".png");
	}
}
